<template>
{{#if page.psSysPFPlugin}}
    <{{pascalCase page.psSysPFPlugin.pluginCode}} />
{{else}}
    {{#if page.psViewLayoutPanel.useDefaultLayout}}
    <AppViewLayout :class="classNames">
        <template #viewHeaderCenter>
            <div v-if="model.showCaption && !noViewCaption" class="view-header__left__caption">
                {{> @macro/view/view-caption.hbs}}
            </div>
        </template>
        {{> @macro/view/view-toolbar.hbs page=page}}
        <template #default>
            {{#each page.ctrls as | ctrl |}}
            {{#eq ctrl.controlType 'MOBMDCTRL'}}
            {{> @macro/widgets/mob-mdctrl-detail/mob-mdctrl.hbs ctrl=ctrl page=page customProps=":singleSelect='singleSelect' listMode='picker'"}}
            {{/eq}}
            {{/each}}
        </template>
        {{> @macro/view/view-msg.hbs}}  
    </AppViewLayout>
    {{else}}
    <div :class="classNames">
        {{#if page.psViewLayoutPanel.rootPSPanelItems}}
        {{#each page.psViewLayoutPanel.rootPSPanelItems as | panelItem |}}
        {{> @macro/widgets/panel-detail/include-panel.hbs type=panelItem.itemType item=panelItem isMultiData=false panel=page.psViewLayoutPanel page=page}}
        {{/each}}
        {{/if}}
    </div>
    {{/if}} 
{{/if}}
</template>

// 基于template/src/views/\{{appModules}}/\{{pages@DEMOBPICKUPLISTVIEW}}/\{{spinalCase page.codeName}}.vue.hbs生成
<script setup lang="ts">
{{#if page.psSysPFPlugin}}
import {{pascalCase page.psSysPFPlugin.pluginCode}} from "@plugins/view/{{spinalCase page.psSysPFPlugin.pluginCode}}/{{spinalCase page.psSysPFPlugin.pluginCode}}.vue";
{{/if}}
{{#if page.psViewLayoutPanel.useDefaultLayout}}
import { AppViewLayout } from "@components/layout/view-layout";
{{> @macro/widgets/ctrl/import-ctrl.hbs ctrls=page.ctrls}}
{{else}}
import { AppCtrlPos, AppScrollContainer, AppSimpleFlexContainer, AppStandardContainer, AppTabPanel, AppTabPage } from '@components/layout-element/structure';
{{#if page.psViewLayoutPanel.viewProxyMode}}
{{> @macro/widgets/ctrl/import-ctrl.hbs ctrls=page.psViewLayoutPanel.psControls}}
{{else}}
{{> @macro/widgets/ctrl/import-ctrl.hbs ctrls=page.ctrls}}
{{/if}}
{{/if}}
import {
    useNavParamsBind,
    useEventBind,
    getViewClassNames,
{{#and page.enableQuickGroup page.quickGroupPSCodeList}}
    handleQuickGroupValueChange,
{{/and}}
{{#if page.enableQuickSearch}}
    handleQuickSearch,
{{/if}}
{{#page.ctrls}}
  {{#eq controlType 'TOOLBAR'}}
    handleToolbarItemClick,
  {{/eq}}
{{/page.ctrls}}
    handleCtrlAction,
    handleCtrlInit,
    getViewBackVisible,
    handleCtrlDestroy,
{{#unless page.psViewLayoutPanel.useDefaultLayout}}
    handleComponentAction,
{{/unless}}
} from "@/hooks/use-view";
import { PickUpListViewActionType, PickUpListViewController, IPickUpListViewAbility, IPickUpListViewController, IPickUpListViewControllerParams, IPickUpListViewStore, IParam, IContext, ILoadingHelper } from "@/core";
import { model } from "./{{spinalCase page.codeName}}-model";
{{> @macro/view/view-props.hbs props="singleSelect?:boolean"}}

{{> @macro/common/emit.hbs name="view" actionType="PickUpListViewActionType" ability="IPickUpListViewAbility"}}

{{> @macro/view/view-common.hbs}}

const params: IPickUpListViewControllerParams<PickUpListViewActionType, IPickUpListViewAbility> = {
    name: props.name,
    model, 
    evt, 
    isLoadDefault: props.isLoadDefault,
    openType: props.openType, 
    pLoadingHelper: props.pLoadingHelper, 
    handler: (data: IPickUpListViewStore) => { return reactive(data); }
}


{{> @macro/common/controller.hbs name="view" IController="IPickUpListViewController" store="IPickUpListViewStore" ability="IPickUpListViewAbility" controller="PickUpListViewController"}}
</script>
